As the number of cores in a multi-core processor and/or number of processors in a multi-core system increases, so does the amount of data that must be shared among the processors or cores. Tracking the cores that have access to data within one or more caches becomes more complex as the number of cores or processors increases. Some prior art techniques have relied on increasingly large storage structures to track shared data among processors or cores. However, this may limit the number of cores or processors and the amount of data that can be shared among them due to die size and/or power constraints.